package com.yowasa.xiuxian.engine.travel;

import com.google.common.collect.Lists;
import com.yowasa.xiuxian.entity.bo.user.UserBO;
import com.yowasa.xiuxian.service.helper.UserHelper;
import com.yowasa.xiuxian.util.RandomUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.text.MessageFormat;
import java.util.List;


@Component
public class MijingTravel implements TravelInterface {
    @Autowired
    private UserHelper userHelper;

    @Override
    public int getType() {
        return 4;
    }

    @Override
    public String exec(UserBO userBO) {
        int days = RandomUtil.randomInt(15, 38);
        int num;
        String msg;
        userHelper.lockUser(userBO, days, userBO.getName() + "正在秘境探索中");
        if (Math.random() < 0.5) {
            num = RandomUtil.randomInt(100, 200) * userBO.getUserAttr().getUnd() / 25;
            userBO.getUserConfig().setTravel(userBO.getUserConfig().getTravel() + num);
            msg = RandomUtil.choice(travelList());
            return MessageFormat.format("{0},消耗{1}天获取了{2}点历练值", msg, days, num);
        } else {
            num = RandomUtil.randomInt(50, 120) * userBO.getUserAttr().getLuc() / 25;
            userBO.getUserConfig().setGold(userBO.getUserConfig().getGold() + num);
            msg = RandomUtil.choice(goldList());
            return MessageFormat.format("{0},消耗{1}天获取了{2}点摩拉", msg, days, num);
        }
    }

    private List<String> travelList() {
        return Lists.newArrayList(
                "秘境的景色你在外界都无法得见，你在此留恋往返，眼界大开",
                "秘境与世隔绝，安静的环境让你的心也静了下来，心中生出些许感悟",
                "秘境人迹罕至，看着大自然四季变迁留下的痕迹，你对修行之路有了更深的认知",
                "秘境里居然有个小村落，你在这里以普通人的身份在这里住下\n这里民风淳朴，你在这里生活的很愉快，某次出了村子却再也找不到回去的路了\n你心中感慨万千",
                "你在一处石壁上发现了许多刻痕，看着似乎是一门高深的功法，虽然无法学会但一番参悟也有很大的收获",
                "昼夜更替，秘境的星空似乎映照着提瓦特的星轨，透过夜空你仿佛看见了自己的命之座，一种玄而又玄的感悟萦绕心头"
        );
    }

    private List<String> goldList() {
        return Lists.newArrayList(
                "你捡到了以前的冒险者遗落的钱袋子，大赚了一笔",
                "盗宝团的足迹竟然深入到了这里，他们被你打的落荒而逃，东西都来不及收拾，摩拉散落了一地",
                "你在一处山谷发现了许多原石，璃月的上流人士最喜欢赌石，拿去兜售可以赚不少钱",
                "游历途中你发现了一种稀有的花，这种花在蒙德贵族中很受欢迎，应该也能卖不少摩拉",
                "你找到了一种秘境独有的特殊材料，传送过来的时候凯瑟琳说冒险家协会正在收购它们\n这种材料不能炼器也没有能量，你留着没有用处，便卖给了冒险家协会"
        );
    }
}